04. Putting your app on Oculus Home
Oculus
The Oculus Store interfaces directly with the Oculus app (also referred to as Oculus Home). Since the app must be open to use the Rift, it’s the distribution platform with most visibility for Oculus users. Because the Oculus Store only supports Oculus VR apps, it has the advantage of direct integration with the hardware and a user-base focused on buying for one platform, but the disadvantage of potentially segmenting your users for multi-platform apps, and not allowing people with both High Immersion headsets to decide which hardware to use.
That said, the Oculus Store’s built-for-VR interface and increased visibility for Oculus user’s makes it the preferred distribution platform for Oculus experiences.
Publishing Resources
Oculus has great documentation covering how to put your VR app on their store.
We’ll do our best to give a summary overview of what you need to do, but if you find yourself needing more detail, the documentation is the place to go.
If you get stuck or need help, the Oculus developer forums are also helpful.
Publishing Process
When you submit your app, Oculus will do both a Technical Review and Content Review. The Technical Review checks to see that your app meets their requirements, while the Content Review is used to determine the app’s estimated desirability to customers.
Requirements
Completely barred from the Oculus store are:
- pornography
- excessively violent or sexual content (essentially anything worse than an R rating)
- hate speech, bullying, or harassment
- real money gambling
A “Comfort” rating is applied to your app based on how much motion sickness it causes (Comfortable, Moderate, Intense).
If you collect data from the user, you must clearly articulate a privacy policy.
In-app purchases must use the Oculus Platform SDK, not a third party solution. Similarly, other external platforms are barred from your app.
An age rating of 13+ or 17+ must be chosen.
No use of Oculus trademarks (such as name or logo) is allowed anywhere in your app except for references to services (ex. Text saying “Quit to Oculus Home”) or models supplied by Oculus (ex. controllers with Oculus logo on them).
Logo and Screenshot art assets must be included in your submission and follow the guidelines. The most common guideline missed is to make sure you don’t include any text in the bottom 25% of your graphic, since that is where Oculus will place their own text, such as prices. For a full list of the art asset guidelines, go to: https://static.oculus.com/documents/oculus-store-art-guidelines.pdf
The app must run on a minimum spec PC consistently at 90fps with no systematic judder.
It must also meet the SDK and engine version requirements, which are updated here.
For Graphics:
- no convergence issues (such as objects put at distances that cause your eyes to intensely strain) or unusual distortions
- no z-fighting (when two meshes are at the same position and their textures flicker back and forth, since the Renderer doesn’t know which one to show)
- head locked objects, such as a cursor, must use separate layers from the main game to prevent judder from missed frames (more info about VR Composite Layers can be found here)
For Functionality:
- does not freeze or crash
- uses entitlement checks to prevent unauthorized access
- does not launch with a Windows Firewall interruption or Unity configuration prompt
- does not contain extraneous files (ex. DLLs from other platforms, debug builds, marketing assets)
- displays graphics and head tracking within 4 seconds of launching, or uses a progress bar for apps with a longer loading time
- properly saves data (i.e. no lost data such as saves points where it is intended functionality)
- is not broken (i.e. you can complete the game without getting permanently stuck)
- does not require physics and animation to run at 90fps (i.e. in the Edit>Project Settings>Time window, you have maximum time set to a higher number than 0.1111111)
- re-orients forwards when reorientation option is used in the Universal Home Menu (Guardian System necessary games are exempted from this requirement)
- has a working exit to Home function
- has in-game menus activated with the Left Touch controller Menu Button
- has button mappings correctly applied (i.e. button inputs are not broken)
Publishing
To publish on the Oculus Store you need an Oculus account that has registered as a developer.
The Oculus Store has several levels of app release:
- Alpha
- Beta
- Release Candidate
- Store
Because of this, you can host and test your builds on the Oculus platform before a full release. You can also go directly from Alpha to Store (full release) if you feel your app is ready and are trying to move swiftly.
Alpha, Beta, and Release Candidate essentially let you upload your build to the platform and test it prior to Oculus submission, so don’t hesitate to do this early. Each level of app release acts as a “channel”, allowing you to invite other Oculus users to download test builds. The inclusion of multiple channels (Alpha, Beta, Release Candidate) lets you segment certain groups of your invited testers. For example, you might only invite people on your team to the Alpha channel, while distributing access to your most die-hard fans with Beta and your general users who want early features with Release Candidate.
When you are ready to publish your app on the public store, that is when you submit it to Oculus.
More details about this can be found here.
Submitting
Submitting your app is fairly straightforward. Just upload your app via the Dashboard, choose the Store channel, fill in the Submission Info (such as App Title, Description, Specifications, the required art assets, and pricing) and submit your app!
The Oculus Store is by far the pickiest of the 3 main distribution platforms. The timeline from submission to release can take a variable amount of time, so it’s best to start early.